#include <GL/gl.h>
#include <GL/glu.h>
#include "AppTestView.h"
#include <UIEngine.h>
#include <UIWindow.h>
#include <UIText.h>

AppTestView::AppTestView() {
}

void AppTestView::displayFront() {
  // glBegin(GL_QUADS);
  // glColor3ub(0, 0, 255);
  // glVertex3d(-1, -1, 0);
  // glVertex3d(-1, 1, 0);
  // glVertex3d(1, 1, 0);
  // glVertex3d(1, -1, 0);
  // glEnd();

  //glBegin(GL_QUADS);
  UIEngine* ui;
  ui = new UIEngine(RGBAColor(1., 1., 1., 1.), RGBAColor(0., 0., 0., 0.), 1.,
      1., 0.01, 0.01);
  ui->addUIComponent(new UIWindow(1., 1., "App Test"));
  ui->addUIComponent(new UIText(UIText::STDTEXT, 0, 0, 0.3, 90, "Test UIText",
      RGBAColor(0., 0., 1., 1.)));
  ui->display();
  //  glColor3ub(0, 0, 255);
  //  glVertex3d(-1, 0, 0);
  //  glVertex3d(-1, 2, 0);
  //  glVertex3d(1, 2, 0);
  //  glVertex3d(1, 0, 0);
  //glEnd();
}

void AppTestView::displayBack() {
  this->displayFront();
}

void AppTestView::transitive(float percent) {
  this->displayFront();
}

AppTestView::~AppTestView() {

}

extern "C" AppTestView* create_view() {
  return new AppTestView;
}

extern "C" void destroy_view(AppTestView* p) {
  delete p;
}

